home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / 3DDEMO.ZIP / 3D / INCLUDE / POLYGFX.HPP < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-21  |  2.2 KB  |  78 lines

  1. #ifndef __POLYGFX__
  2. #include "defines.hpp"
  3.  
  4. // Copyright (c) 1996 by Kerrigan Burgess, all rights reserved.
  5.  
  6. extern void Error(char *fmt, ...);
  7.  
  8. extern "C" {
  9.  
  10. extern long           _X1,_Y1,_Z1,_X2,_Y2,_Z2,_X3,_Y3,_Z3; // Globals for Drawing polygons ( Assembly access ). Defined in World.hpp
  11. extern long           _I1,_I2,_I3;
  12. extern long           _A1,_A2,_A3;
  13. extern long           _U1,_V1,_U2,_V2,_U3,_V3;
  14. extern long           _MinClipX,_MinClipY,_MaxClipX,_MaxClipY;
  15. extern long           _TransLevel;
  16. extern long           _ColorIndex;
  17. extern long           _AvgZ;
  18. extern unsigned char *_RendBuffer;
  19.  
  20. void Line(unsigned char *Buffer,unsigned char color, int count);
  21. #pragma aux Line parm [edi] [eax] [ecx]\
  22.         modify [edi eax ecx];
  23.  
  24. void Scan_Convert_Lambert(void);
  25. void Scan_Convert_Gouraud(void);
  26.  
  27. }
  28.  
  29. extern unsigned char *LookPal;             // Look up Palette and Texture map.
  30. extern unsigned char *LookPalPhong;        // phong illumination palette.
  31.  
  32. extern unsigned char *TransTBL;
  33. extern unsigned char *HazeTBL;
  34. extern int           *PhongTBL;             // holds angular intensities.
  35. extern int           *TextureMap;
  36.  
  37. extern int   SCREENWIDTH;
  38. extern int   SCREENHEIGHT;
  39.  
  40. extern int   POLY_MIN_CLIP_X;
  41. extern int   POLY_MIN_CLIP_Y;
  42. extern int   POLY_MAX_CLIP_X;
  43. extern int   POLY_MAX_CLIP_Y;
  44.  
  45. int FindCode(int x, int y);          // used for clipping.
  46.  
  47. void BresenHamLine(int x1,int y1,int x2,int y2,unsigned char color,
  48.                    unsigned char *Buffer);
  49.  
  50. void Scan_Convert_Wire(void);
  51.  
  52. //void Scan_Convert_Lambert(void);            // in assembly module, polylow.asm
  53. //void Scan_Convert_Gouraud(void);
  54. void Scan_Convert_Phong(void);
  55.  
  56. void Scan_Convert_TextureL(void);
  57. void Scan_Convert_TextureG(void);
  58. void Scan_Convert_TextureP(void);
  59.  
  60. void Scan_Convert_LambertT(void);
  61. void Scan_Convert_GouraudT(void);
  62. void Scan_Convert_PhongT(void);
  63.  
  64. void Scan_Convert_TextureLT(void);                
  65. void Scan_Convert_TextureGT(void);
  66. void Scan_Convert_TexturePT(void);
  67.  
  68. void Scan_Convert_LambertH(void);
  69. void Scan_Convert_GouraudH(void);
  70. void Scan_Convert_PhongH(void);
  71.  
  72. void Scan_Convert_TextureLH(void);
  73. void Scan_Convert_TextureGH(void);
  74. void Scan_Convert_TexturePH(void);
  75.  
  76. #define __POLYGFX__
  77. #endif
  78.